import request from '@/config/axios'

// 奖项阶段规则设置 VO
export interface TemplateRuleVO {
  id: string // 奖项阶段规则设置ID
  templateId: string // 奖项ID
  judgeType: string // 评选方式 1=>投票,2=>排序,3=>得分
  judgeStage: string // 评选阶段 1=>初评,2=>终评
  isDrawToNext: boolean // 平票是否直接晋级下个阶段
  isDebate: boolean // 是否需要答辩
  amountType: number // 名额类型 1=>仅博士,2=>仅硕士,3=>博士硕士并列,4=博士硕士合并
  isMajorGroup: boolean // 是否按专业分组评审
  majorGroupSettings: string // 专业分组设置
  scoreJson: string // 得分方式赋分项
  judgeRule: string // 评审规则
  totalAmount: number // 总名额
  phdAmount: number // 博士名额
  masterAmount: number // 硕士名额
  remark: string // 备注
}

// 奖项阶段规则设置 API
export const TemplateRuleApi = {
  // 查询奖项阶段规则设置分页
  getTemplateRulePage: async (params: any) => {
    return await request.get({ url: `/awards/template-rule/page`, params })
  },

  // 查询奖项阶段规则设置详情
  getTemplateRule: async (id: string) => {
    return await request.get({ url: `/awards/template-rule/get?id=` + id })
  },

  // 新增奖项阶段规则设置
  createTemplateRule: async (data: TemplateRuleVO) => {
    return await request.post({ url: `/awards/template-rule/create`, data })
  },

  // 修改奖项阶段规则设置
  updateTemplateRule: async (data: TemplateRuleVO) => {
    return await request.put({ url: `/awards/template-rule/update`, data })
  },

  // 删除奖项阶段规则设置
  deleteTemplateRule: async (id: string) => {
    return await request.delete({ url: `/awards/template-rule/delete?id=` + id })
  },

  // 导出奖项阶段规则设置 Excel
  exportTemplateRule: async (params) => {
    return await request.download({ url: `/awards/template-rule/export-excel`, params })
  }
}
